In today's globalized economy, communication between geographically distant people has become increasingly important. Moreover, as communication among distant people has become more important, the number of ways in which such people need to communication has grown. For example, it is frequently no longer sufficient to merely be able to talk to distant people in a teleconference. Rather, effective communication can require multiple content streams within a single teleconference. For example, effective communication can require the ability to exchange video, share applications, show slideshow presentations, write on virtual whiteboards, exchange instant messages, and exchange information in other ways within a single teleconference.
Supporting multiple content streams within a teleconference can be resource intensive for both a server system that distributes data associated with the content streams and client devices that receive data associated with the content streams. For example, the server system may not have sufficient bandwidth to push out a sufficient amount of data to provide a satisfactory quality of service to the client devices. Similarly, client devices may not have sufficient bandwidth to receive a sufficient amount of data to provide a satisfactory quality of service. In another example, the server system and the client devices can maintain connections for each of the content streams in a teleconference. Maintenance of such connections consumes memory space, cache space, and processor cycles. Furthermore, receiving and processing data from each of these content streams can tax the resources of client devices.